package com.zp.business.entity.template;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zp.common.core.entity.BaseEntity;
import com.zp.common.satoken.utils.LoginHelper;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 模板子表对象 template_detail
 *
 * @author zhang peng
 * @ date 2024-04-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("template_detail")
public class TemplateDetail extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "detail_id")
    private String detailId;

    /**
     * 组号
     */
    private Integer groupNumber;

    /**
     * 模板主记录id
     */
    private String templateMasterId;

    /**
     * 价表id
     */
    private String priceId;

    /**
     * 库存表ID
     */
    private String stockId;

    /**
     * 药品名称
     */
    private String itemName;

    /**
     * 药品名称编码
     */
    private String itemCode;

    /**
     * 单位
     */
    private String unit;

    /**
     * 包装单位
     */
    private String packageUnits;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 规格
     */
    private String spec;

    /**
     * 包装规格
     */
    private String packageSpec;

    /**
     * 厂家标识
     */
    private String firmId;

    /**
     * 商家名称
     */
    private String firmName;

    /**
     * 单次用量
     */
    private BigDecimal singleDosage;

    /**
     * 用量单位
     */
    private String singleUnit;

    /**
     * 途径
     */
    private String channel;

    /**
     * 频次
     */
    private String performFreq;

    /**
     * 药品数量
     */
    private BigDecimal num;

    /**
     * 次量
     */
    private BigDecimal numSingle;

    /**
     * 网络价格
     */
    private BigDecimal networkPrice;

    /**
     * 单价
     */
    private BigDecimal price;

    /**
     * 进价
     */
    private BigDecimal tradePrice;

    /**
     * 总价
     */
    private BigDecimal sumPrice;

    /**
     * 是否皮试
     */
    private String isSkin;

    /**
     * 免皮试
     */
    private String noSkin;

    /**
     * 用药天数
     */
    private Integer abidance;

    /**
     * 机构ID
     */
    private String orgId;

    /**
     * 标志
     */
    private String delFlag;
    /**
     * 备注信息
     */
    private String remarks;
    /**
     * 剂量单位计量
     */
    private BigDecimal doseUnitsMetering;
    /**
     * 滴速
     */
    private String dripSpeed;
    /**
     * 批次
     */
    private String batchNo;
    /**
     * 药品基本数据drug_info中id
     */
    private String drugInfoId;
    /**
     * 剂数
     */
    private Integer repetition;
    /**
     * 0.套装1.处方2.医嘱3.检查4检验5.处置6.护士费用7固定费用8.包9.组
     */
    private String type;
    /**
     * N非申请单、Y申请单
     */
    private String isApply;
    /**
     * 0长期、1临时
     */
    private String repeatIncaditor;
    /**
     * Y计价、N不计价
     */
    private String billingAttr;
    /**
     * 0代煎、1不代煎
     */
    private String isDecoction;
    /**
     * N不加急、Y加急
     */
    private String isUrgent;
    private String itemClass;
    /**
     * 熔断后异常信息
     */
    @TableField(exist = false)
    private String exceptionCode;

    public void initEntity () {
        this.delFlag = "0";
    }

    /**
     * 修改人、修改时间信息信息
     */
    public void updateInfo () {
        setUpdateBy(LoginHelper.getLoginUser().getNickName());
        setUpdateTime(new Date());
    }

}
